package zdori;

public class J09_while {

//반목문 loop
	//가끔 어떤 동작을 여러번 수행할때가 있다
	//코드를 복사해서 반복을 해도 해결되지 않는 문제 발생
	//반복회수가 5번이면 코드줄수도 5줄 작성
	//코드내 내용이 수정되면 그 사본도 수정
	
	//이것에 대해 현명한 방법은 반복문 안에 코드를 넣는것
	//즉, 반복할 코드를 한 줄만 작성하고 컴파일러에게 이코드를
	//몇번이고 반복실행 하라고 지시할수있음

	//while
	//while (조건식) {
	//       문장;
	//}
	//조건식의 결과가 참이면블록안의 문장이 실행되고
	//다시, 조건식을 검사
	//따라서, 반복실행을 중단하려면 조건식의 결과가 거짓이 되도록 만들거나
	//break문을 사용하면됨
	
	//반복문의 처리 과정을 단계별로 파악하려면
	//통합개발 환경의 디버깅 기능을 이용하면됨
	
	//break, continue
	//break 문은 while, do-while, for 문의 반복실행을 중단하기위해 사용
	//break 문을 아무대나 사용하면 컴파일오류 발생
	//continue문은 while, do-while, for 문의
	//현제 반복을 중단하고 다음 반복의 시작으로 제어를 넘김
	
	public static void main(String[] args) {
		
		int i=1;
		for(i=0;i<30;i++)
		System.out.print("ㅎ");
		
		int count = 0;
		while (count<=3){
			System.out.println("시간은 금이라고 친구"); 
			count=count +1;
				
		}
		
		//문제1.반복문을사용하지않고 1부터 10까지 출력,시간은금이라구 2번
//		System.out.print("1 2 3 4 5 6 7 8 9 10");System.out.println();
//		System.out.println("시간은금이라구");System.out.println("시간은금이라구");
		
		//문제 2 : 반복문을 사용하지 않고 
		// 1~10  까지 출력하는 프로그램
		// 반복문
				
				while(count<3)
				{
					
					System.out.print("낑");
					count++;
				}
				System.out.println();
				
				int num=1;//디버깅!!!!!!!!!!!!!!!!!!!!!!!!
				while(num<=10)
				{
					System.out.print(num+" ");
					num++;
				}
				System.out.println();
				//문제3: 구구단 19단
				for(i=1;i<=19;i++)
				{
					int result=19*i;
					System.out.println("19*"+i+"="+result);
					
				}
				int b=1;
				while(b<=11)
				{
					if(b>10) 
						break;
					System.out.print(b+" ");
					b++;
				}
				
				System.out.println();
				//continue문 현재반복을중단하고 다음반복의 시작으로제어를넘김
		count=1;
		while(count<=10){
			System.out.println(count);
			++count;
		}
		
		
		
		
		//반복을 이용하면 다음과 같음
		count = 1;
		while (count <=10 ){
			System.out.println(count);
			++count;   // count =count+1;
		}
		
		//문제3번 : 반복문을 이용해서
		//구구단의 19단을 출력
		//19x1= 19
		//19x2= 38
		
		count =1;
	
		while (count<=19){
			System.out.println("19 X" + count + "=" + count*19);
			++count;
			}
		
		//문제 4번 : 반복문과 break를 이용해서 1~10까지 출력하는 프로그램
		
		
		count = 1;
		while (count <=10 ){
			System.out.println(count);
			++count;   // count =count+1;	
			//break 사용안함
		}
		count = 1;
		while (true ){
			if(count>10) break;
			System.out.println(count);
			++count;   // count =count+1;
		//break 사용
		}
			
		//문제 5 : 반복문과 continue를 이용해서 1~10까지 출력하는 프로그램
		//단! 5는출력하지않음
		
		count = 1;
		while (count<=10){
			if( count !=5 )
			System.out.println(count);
			
			++count;
		} //컨티뉴 사용안함
		
		count = 1;
		while (count<=10){
			if( count !=5 )
			System.out.println(count);
			++count;}
			
		//문제 6 : 1 ~100사이의 짝수만 출력
			
		count =1;
		while (count<=100){
			if( count % 2==0)
				System.out.println(count);
			++count;
				
		}
		
		//문제 7 : 1~100사이의 홀수만 출력
		
		count =1;
		while (count<=100){
			if( count % 2>=1)
				System.out.println(count);
			++count;
		}
		int b1=1;
		while(b1<=10)
		{
			if(b1==5) b1++;
			else{
				System.out.print(b1+" ");
				b1++;
			}
		}//continue안사용
	
		System.out.println();
		int b2=1;
		while(b2<=10)
		{
		  if(b2==5)
		  {
			 b2++; continue;//while에서!!
		  }
		  else{
		  System.out.print(b2+" ");
		  b2++;}
		  
		}
		System.out.println();
		
		//문제 1~100사이중 짝수만출력
		int num3=1;
		while(num3<=100)
		{
			if(num3%2==0) 
				System.out.print(num3+" ");
				num3++;
			
		}		
			
			}
	
	
		}

	


